[][src]Crate blender_armature

Blender files can have armature such as circles, cubes, cylinders, a dragon or any other 3D shape.

A armature can be represented as a group of vertices and data about those vertices, such as their normals or UV coordinates.

Armaturees can also have metadata, such as the name of it's parent armature (useful for vertex skinning).

blender-armature-to-json seeks to be a well tested, well documented exporter for blender armature metadata.

You can write data to stdout or to a file. At the onset it will be geared towards @chinedufn's needs - but if you have needs that aren't met feel very free to open an issue.

@see https://docs.blender.org/manual/en/dev/modeling/armature/introduction.html - Armature Introduction @see https://github.com/chinedufn/blender-actions-to-json - Exporting blender armatures / actions

Structs

Action

A set of keyframes along with metadata such as pose markers.

ActionKeyframes

All of the keyframes in an action.

ActionSettings

Settings describing an armature's action.

BlenderArmature

All of the data about a Blender armature that we've exported from Blender. A BlenderArmature should have all of the data that you need to implement skeletal animation.

CoordinateSystem

A coordinate system is used to make sense of coordinates.

InterpolationSettings

Settings for how to interpolate your BlenderArmature's bone data. These can be used to do things such as:

Keyframe

The pose bones at an individual keyframe time

Enums

Axis
BlenderError

Something went wrong in the Blender child process that was trying to parse your armature data.

Bone

A bone in an armature. Can either be a dual quaternion or a matrix. When you export bones from Blender they come as matrices - BlenderArmature lets you convert them into dual quaternions which are usually more favorable for when implementing skeletal animation.

FlattenArmatureError

An error when trying to flatten your exported data across multiple files into one HashMap of armature name to armature data.

Hand

Represents the orientation of the coordinate system using the right hand rule.

Functions

blend_towards_bones

Blend from the start bones towards the ending bones.

flatten_exported_armatures

Convert ArmatureeshByFilename into a HashMap<ArmatureName, BlenderArmature> that flattens all of the armatures across all of the files into one HashMap.

linear_200_milliseconds

Returns 0.0 if no time has elapsed. Returns 0.5 if 100 milliseconds have elapsed. Returns 1.0 if >= 200 milliseconds have elapsed

parse_armatures_from_blender_stdout

Given a buffer of standard output from Blender we parse all of the armature JSON that was written to stdout by blender-armature-to-json.py.

Type Definitions

ArmaturesByArmatureName
ArmaturesByFilename